import { replaceHtml } from '../utils/util'
import { modelHTML } from './constant'
import menuButton from './menuButton'
import editor from '../global/editor'
import tooltip from '../global/tooltip'
import { isEditMode } from '../global/validate'
import Store from '../store'
import $ from 'jquery'
import locale from '../locale/locale'

//更多格式
const luckysheetMoreFormat = {
    moneyFmtList: [
        {
            'name': '人民币',
            'pos': 'before',
            'value': '¥'
        }, {
            'name': '美元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '欧元',
            'pos': 'before',
            'value': '€'
        }, {
            'name': '英镑',
            'pos': 'before',
            'value': '￡'
        }, {
            'name': '港元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '日元',
            'pos': 'before',
            'value': '￥'
        }, {
            'name': '阿尔巴尼亚列克',
            'pos': 'before',
            'value': 'Lek'
        }, {
            'name': '阿尔及利亚第纳尔',
            'pos': 'before',
            'value': 'din'
        }, {
            'name': '阿富汗尼',
            'pos': 'after',
            'value': 'Af'
        }, {
            'name': '阿根廷比索',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '阿拉伯联合酋长国迪拉姆',
            'pos': 'before',
            'value': 'dh'
        }, {
            'name': '阿鲁巴弗罗林',
            'pos': 'before',
            'value': 'Afl'
        }, {
            'name': '阿曼里亚尔',
            'pos': 'before',
            'value': 'Rial'
        }, {
            'name': '阿塞拜疆马纳特',
            'pos': 'before',
            'value': '?'
        }, {
            'name': '埃及镑',
            'pos': 'before',
            'value': '￡'
        }, {
            'name': '埃塞俄比亚比尔',
            'pos': 'before',
            'value': 'Birr'
        }, {
            'name': '安哥拉宽扎',
            'pos': 'before',
            'value': 'Kz'
        }, {
            'name': '澳大利亚元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '澳门元',
            'pos': 'before',
            'value': 'MOP'
        }, {
            'name': '巴巴多斯元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '巴布亚新几内亚基那',
            'pos': 'before',
            'value': 'PGK'
        }, {
            'name': '巴哈马元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '巴基斯坦卢比',
            'pos': 'before',
            'value': 'Rs'
        }, {
            'name': '巴拉圭瓜拉尼',
            'pos': 'after',
            'value': 'Gs'
        }, {
            'name': '巴林第纳尔',
            'pos': 'before',
            'value': 'din'
        }, {
            'name': '巴拿马巴波亚',
            'pos': 'before',
            'value': 'B/'
        }, {
            'name': '巴西里亚伊',
            'pos': 'before',
            'value': 'R$'
        }, {
            'name': '白俄罗斯卢布',
            'pos': 'after',
            'value': 'р'
        }, {
            'name': '百慕大元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '保加利亚列弗',
            'pos': 'before',
            'value': 'lev'
        }, {
            'name': '冰岛克朗',
            'pos': 'before',
            'value': 'kr'
        }, {
            'name': '波黑可兑换马克',
            'pos': 'before',
            'value': 'KM'
        }, {
            'name': '波兰兹罗提',
            'pos': 'after',
            'value': 'z?'
        }, {
            'name': '玻利维亚诺',
            'pos': 'before',
            'value': 'Bs'
        }, {
            'name': '伯利兹元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '博茨瓦纳普拉',
            'pos': 'before',
            'value': 'P'
        }, {
            'name': '不丹努扎姆',
            'pos': 'before',
            'value': 'Nu'
        }, {
            'name': '布隆迪法郎',
            'pos': 'before',
            'value': 'FBu'
        }, {
            'name': '朝鲜圆',
            'pos': 'before',
            'value': '?KP'
        }, {
            'name': '丹麦克朗',
            'pos': 'after',
            'value': 'kr'
        }, {
            'name': '东加勒比元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '多米尼加比索',
            'pos': 'before',
            'value': 'RD$'
        }, {
            'name': '俄国卢布',
            'pos': 'after',
            'value': '?'
        }, {
            'name': '厄立特里亚纳克法',
            'pos': 'before',
            'value': 'Nfk'
        }, {
            'name': '非洲金融共同体法郎',
            'pos': 'before',
            'value': 'CFA'
        }, {
            'name': '菲律宾比索',
            'pos': 'before',
            'value': '?'
        }, {
            'name': '斐济元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '佛得角埃斯库多',
            'pos': 'before',
            'value': 'CVE'
        }, {
            'name': '福克兰群岛镑',
            'pos': 'before',
            'value': '￡'
        }, {
            'name': '冈比亚达拉西',
            'pos': 'before',
            'value': 'GMD'
        }, {
            'name': '刚果法郎',
            'pos': 'before',
            'value': 'FrCD'
        }, {
            'name': '哥伦比亚比索',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '哥斯达黎加科朗',
            'pos': 'before',
            'value': '?'
        }, {
            'name': '古巴比索',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '古巴可兑换比索',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '圭亚那元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '哈萨克斯坦坚戈',
            'pos': 'before',
            'value': '?'
        }, {
            'name': '海地古德',
            'pos': 'before',
            'value': 'HTG'
        }, {
            'name': '韩元',
            'pos': 'before',
            'value': '?'
        }, {
            'name': '荷属安的列斯盾',
            'pos': 'before',
            'value': 'NAf.'
        }, {
            'name': '洪都拉斯拉伦皮拉',
            'pos': 'before',
            'value': 'L'
        }, {
            'name': '吉布提法郎',
            'pos': 'before',
            'value': 'Fdj'
        }, {
            'name': '吉尔吉斯斯坦索姆',
            'pos': 'before',
            'value': 'KGS'
        }, {
            'name': '几内亚法郎',
            'pos': 'before',
            'value': 'FG'
        }, {
            'name': '加拿大元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '加纳塞地',
            'pos': 'before',
            'value': 'GHS'
        }, {
            'name': '柬埔寨瑞尔',
            'pos': 'before',
            'value': 'Riel'
        }, {
            'name': '捷克克朗',
            'pos': 'after',
            'value': 'K?'
        }, {
            'name': '津巴布韦元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '卡塔尔里亚尔',
            'pos': 'before',
            'value': 'Rial'
        }, {
            'name': '开曼群岛元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '科摩罗法郎',
            'pos': 'before',
            'value': 'CF'
        }, {
            'name': '科威特第纳尔',
            'pos': 'before',
            'value': 'din'
        }, {
            'name': '克罗地亚库纳',
            'pos': 'before',
            'value': 'kn'
        }, {
            'name': '肯尼亚先令',
            'pos': 'before',
            'value': 'Ksh'
        }, {
            'name': '莱索托洛蒂',
            'pos': 'before',
            'value': 'LSL'
        }, {
            'name': '老挝基普',
            'pos': 'before',
            'value': '?'
        }, {
            'name': '黎巴嫩镑',
            'pos': 'before',
            'value': 'L￡'
        }, {
            'name': '立陶宛立特',
            'pos': 'before',
            'value': 'Lt'
        }, {
            'name': '利比亚第纳尔',
            'pos': 'before',
            'value': 'din'
        }, {
            'name': '利比亚元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '卢旺达法郎',
            'pos': 'before',
            'value': 'RF'
        }, {
            'name': '罗马尼亚列伊',
            'pos': 'before',
            'value': 'RON'
        }, {
            'name': '马达加斯加阿里亚里',
            'pos': 'before',
            'value': 'Ar'
        }, {
            'name': '马尔代夫拉菲亚',
            'pos': 'before',
            'value': 'Rf'
        }, {
            'name': '马拉维克瓦查',
            'pos': 'before',
            'value': 'MWK'
        }, {
            'name': '马来西亚林吉特',
            'pos': 'before',
            'value': 'RM'
        }, {
            'name': '马其顿戴第纳尔',
            'pos': 'before',
            'value': 'din'
        }, {
            'name': '毛里求斯卢比',
            'pos': 'before',
            'value': 'MURs'
        }, {
            'name': '毛里塔尼亚乌吉亚',
            'pos': 'before',
            'value': 'MRO'
        }, {
            'name': '蒙古图格里克',
            'pos': 'before',
            'value': '?'
        }, {
            'name': '孟加拉塔卡',
            'pos': 'before',
            'value': '?'
        }, {
            'name': '秘鲁新索尔',
            'pos': 'before',
            'value': 'S/'
        }, {
            'name': '缅甸开亚特',
            'pos': 'before',
            'value': 'K'
        }, {
            'name': '摩尔多瓦列伊',
            'pos': 'before',
            'value': 'MDL'
        }, {
            'name': '摩洛哥迪拉姆',
            'pos': 'before',
            'value': 'dh'
        }, {
            'name': '莫桑比克梅蒂卡尔',
            'pos': 'before',
            'value': 'MTn'
        }, {
            'name': '墨西哥比索',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '纳米比亚元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '南非兰特',
            'pos': 'before',
            'value': 'R'
        }, {
            'name': '南苏丹镑',
            'pos': 'before',
            'value': '￡'
        }, {
            'name': '尼加拉瓜科多巴',
            'pos': 'before',
            'value': 'C$'
        }, {
            'name': '尼泊尔卢比',
            'pos': 'before',
            'value': 'Rs'
        }, {
            'name': '尼日利亚奈拉',
            'pos': 'before',
            'value': '?'
        }, {
            'name': '挪威克朗',
            'pos': 'after',
            'value': 'kr'
        }, {
            'name': '乔治亚拉瑞',
            'pos': 'before',
            'value': 'GEL'
        }, {
            'name': '人民币（离岸）',
            'pos': 'before',
            'value': '￥'
        }, {
            'name': '瑞典克朗',
            'pos': 'after',
            'value': 'kr'
        }, {
            'name': '瑞士法郎',
            'pos': 'before',
            'value': 'CHF'
        }, {
            'name': '塞尔维亚第纳尔',
            'pos': 'before',
            'value': 'din'
        }, {
            'name': '塞拉利昂利昂',
            'pos': 'before',
            'value': 'SLL'
        }, {
            'name': '塞舌尔卢比',
            'pos': 'before',
            'value': 'SCR'
        }, {
            'name': '沙特里亚尔',
            'pos': 'before',
            'value': 'Rial'
        }, {
            'name': '圣多美多布拉',
            'pos': 'before',
            'value': 'Db'
        }, {
            'name': '圣赫勒拿群岛磅',
            'pos': 'before',
            'value': '￡'
        }, {
            'name': '斯里兰卡卢比',
            'pos': 'before',
            'value': 'Rs'
        }, {
            'name': '斯威士兰里兰吉尼',
            'pos': 'before',
            'value': 'SZL'
        }, {
            'name': '苏丹镑',
            'pos': 'before',
            'value': 'SDG'
        }, {
            'name': '苏里南元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '所罗门群岛元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '索马里先令',
            'pos': 'before',
            'value': 'SOS'
        }, {
            'name': '塔吉克斯坦索莫尼',
            'pos': 'before',
            'value': 'Som'
        }, {
            'name': '太平洋法郎',
            'pos': 'after',
            'value': 'FCFP'
        }, {
            'name': '泰国铢',
            'pos': 'before',
            'value': '?'
        }, {
            'name': '坦桑尼亚先令',
            'pos': 'before',
            'value': 'TSh'
        }, {
            'name': '汤加潘加',
            'pos': 'before',
            'value': 'T$'
        }, {
            'name': '特立尼达和多巴哥元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '突尼斯第纳尔',
            'pos': 'before',
            'value': 'din'
        }, {
            'name': '土耳其里拉',
            'pos': 'before',
            'value': '?'
        }, {
            'name': '瓦努阿图瓦图',
            'pos': 'before',
            'value': 'VUV'
        }, {
            'name': '危地马拉格查尔',
            'pos': 'before',
            'value': 'Q'
        }, {
            'name': '委内瑞拉博利瓦',
            'pos': 'before',
            'value': 'Bs'
        }, {
            'name': '文莱元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '乌干达先令',
            'pos': 'before',
            'value': 'UGX'
        }, {
            'name': '乌克兰格里夫尼亚',
            'pos': 'before',
            'value': 'грн.'
        }, {
            'name': '乌拉圭比索',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '乌兹别克斯坦苏姆',
            'pos': 'before',
            'value': 'so?m'
        }, {
            'name': '西萨摩亚塔拉',
            'pos': 'before',
            'value': 'WST'
        }, {
            'name': '新加坡元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '新台币',
            'pos': 'before',
            'value': 'NT$'
        }, {
            'name': '新西兰元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '匈牙利福林',
            'pos': 'before',
            'value': 'Ft'
        }, {
            'name': '叙利亚镑',
            'pos': 'before',
            'value': '￡'
        }, {
            'name': '牙买加元',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '亚美尼亚德拉姆',
            'pos': 'before',
            'value': 'Dram'
        }, {
            'name': '也门里亚尔',
            'pos': 'before',
            'value': 'Rial'
        }, {
            'name': '伊拉克第纳尔',
            'pos': 'before',
            'value': 'din'
        }, {
            'name': '伊朗里亚尔',
            'pos': 'before',
            'value': 'Rial'
        }, {
            'name': '以色列新谢克尔',
            'pos': 'before',
            'value': '?'
        }, {
            'name': '印度卢比',
            'pos': 'before',
            'value': '?'
        }, {
            'name': '印度尼西亚卢比',
            'pos': 'before',
            'value': 'Rp'
        }, {
            'name': '约旦第纳尔',
            'pos': 'before',
            'value': 'din'
        }, {
            'name': '越南盾',
            'pos': 'after',
            'value': '?'
        }, {
            'name': '赞比亚克瓦查',
            'pos': 'before',
            'value': 'ZMW'
        }, {
            'name': '直布罗陀镑',
            'pos': 'before',
            'value': '￡'
        }, {
            'name': '智利比索',
            'pos': 'before',
            'value': '$'
        }, {
            'name': '中非金融合作法郎',
            'pos': 'before',
            'value': 'FCFA'
        }
    ],
    dateFmtList: [
        {
            'name': '1930-08-05',
            'value': 'yyyy-MM-dd'
        },
        {
            'name': '1930/8/5',
            'value': 'yyyy/MM/dd'
        },
        {
            'name': '1930年8月5日',
            'value': 'yyyy"年"M"月"d"日"'
        },
        {
            'name': '08-05',
            'value': 'MM-dd'
        },
        {
            'name': '8-5',
            'value': 'M-d'
        },
        {
            'name': '8月5日',
            'value': 'M"月"d"日"'
        },
        {
            'name': '13:30:30',
            'value': 'h:mm:ss'
        },
        {
            'name': '13:30',
            'value': 'h:mm'
        },
        {
            'name': '下午01:30',
            'value': '上午/下午 hh:mm'
        },
        {
            'name': '下午1:30',
            'value': '上午/下午 h:mm'
        },
        {
            'name': '下午1:30:30',
            'value': '上午/下午 h:mm:ss'
        },
        {
            'name': '08-05 下午01:30',
            'value': 'MM-dd 上午/下午 hh:mm'
        },
        // {
        //     "name": "1930年8月5日星期二",
        //     "value": ''
        // },
        // {
        //     "name": "1930年8月5日星期二 下午1:30:30",
        //     "value": ''
        // },
    ],
    numFmtList: [
        {
            'name': '1235',
            'value': '0'
        },
        {
            'name': '1234.56',
            'value': '0.00'
        },
        {
            'name': '1,235',
            'value': '#,##0'
        },
        {
            'name': '1,234.56',
            'value': '#,##0.00'
        },
        {
            'name': '1,235',
            'value': '#,##0_);(#,##0)'
        },
        {
            'name': '1,235',
            'value': '#,##0_);[Red](#,##0)'
        },
        {
            'name': '1,234.56',
            'value': '#,##0.00_);(#,##0.00)'
        },
        {
            'name': '1,234.56',
            'value': '#,##0.00_);[Red](#,##0.00)'
        },
        {
            'name': '$1,235',
            'value': '$#,##0_);($#,##0)'
        },
        {
            'name': '$1,235',
            'value': '$#,##0_);[Red]($#,##0)'
        },
        {
            'name': '$1,234.56',
            'value': '$#,##0.00_);($#,##0.00)'
        },
        {
            'name': '$1,234.56',
            'value': '$#,##0.00_);[Red]($#,##0.00)'
        },
        {
            'name': '1234.56',
            'value': '@'
        },
        {
            'name': '123456%',
            'value': '0%'
        },
        {
            'name': '123456.00%',
            'value': '0.00%'
        },
        {
            'name': '1.23E+03',
            'value': '0.00E+00'
        },
        {
            'name': '1.2E+3',
            'value': '##0.0E+0'
        },
        {
            'name': '1234 5/9',
            'value': '# ?/?'
        },
        {
            'name': '1234 14/25',
            'value': '# ??/??'
        },
        {
            'name': '$ 1,235',
            'value': '_($* #,##0_);_(...($* "-"_);_(@_)'
        },
        {
            'name': '1,235',
            'value': '_(* #,##0_);_(*..._(* "-"_);_(@_)'
        },
        {
            'name': '$ 1,234.56',
            // "value": '_($* #,##0.00_)...* "-"??_);_(@_)'
            'value': '_($* #,##0.00_);_(...($* "-"_);_(@_)'
        },
        {
            'name': '1,234.56',
            'value': '_(* #,##0.00_);...* "-"??_);_(@_)'
        },
    ],
    createDialog: function(type){
        let _this = this

        const currencyDetail = locale().currencyDetail
        const locale_format = locale().format
        const locale_button = locale().button

        this.moneyFmtList = [
            {'name': currencyDetail.RMB,'pos': 'before','value': '¥'},
            {'name': currencyDetail.USdollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.EUR,'pos': 'before','value': '€'},
            {'name': currencyDetail.GBP,'pos': 'before','value': '￡'},
            {'name': currencyDetail.HK,'pos': 'before','value': '$'},
            {'name': currencyDetail.JPY,'pos': 'before','value': '￥'},
            {'name': currencyDetail.AlbanianLek,'pos': 'before','value': 'Lek'},
            {'name': currencyDetail.AlgerianDinar,'pos': 'before','value': 'din'},
            {'name': currencyDetail.Afghani,'pos': 'after','value': 'Af'},
            {'name': currencyDetail.ArgentinePeso,'pos': 'before','value': '$'},
            {'name': currencyDetail.UnitedArabEmiratesDirham,'pos': 'before','value': 'dh'},
            {'name': currencyDetail.ArubanFlorin,'pos': 'before','value': 'Afl'},
            {'name': currencyDetail.OmaniRial,'pos': 'before','value': 'Rial'},
            {'name': currencyDetail.Azerbaijanimanat,'pos': 'before','value': '?'},
            {'name': currencyDetail.EgyptianPound,'pos': 'before','value': '￡'},
            {'name': currencyDetail.EthiopianBirr,'pos': 'before','value': 'Birr'},
            {'name': currencyDetail.AngolaKwanza,'pos': 'before','value': 'Kz'},
            {'name': currencyDetail.AustralianDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.Patacas,'pos': 'before','value': 'MOP'},
            {'name': currencyDetail.BarbadosDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.PapuaNewGuineaKina,'pos': 'before','value': 'PGK'},
            {'name': currencyDetail.BahamianDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.PakistanRupee,'pos': 'before','value': 'Rs'},
            {'name': currencyDetail.ParaguayanGuarani,'pos': 'after','value': 'Gs'},
            {'name': currencyDetail.BahrainiDinar,'pos': 'before','value': 'din'},
            {'name': currencyDetail.PanamanianBalboa,'pos': 'before','value': 'B/'},
            {'name': currencyDetail.Brazilianreal,'pos': 'before','value': 'R$'},
            {'name': currencyDetail.Belarusianruble,'pos': 'after','value': 'р'},
            {'name': currencyDetail.BermudianDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.BulgarianLev,'pos': 'before','value': 'lev'},
            {'name': currencyDetail.IcelandKrona,'pos': 'before','value': 'kr'},
            {'name': currencyDetail.BosniaHerzegovinaConvertibleMark,'pos': 'before','value': 'KM'},
            {'name': currencyDetail.PolishZloty,'pos': 'after','value': 'z?'},
            {'name': currencyDetail.Boliviano,'pos': 'before','value': 'Bs'},
            {'name': currencyDetail.BelizeDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.BotswanaPula,'pos': 'before','value': 'P'},
            {'name': currencyDetail.NotDannuzhamu,'pos': 'before','value': 'Nu'},
            {'name': currencyDetail.BurundiFranc,'pos': 'before','value': 'FBu'},
            {'name': currencyDetail.NorthKoreanWon,'pos': 'before','value': '?KP'},
            {'name': currencyDetail.DanishKrone,'pos': 'after','value': 'kr'},
            {'name': currencyDetail.EastCaribbeanDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.DominicaPeso,'pos': 'before','value': 'RD$'},
            {'name': currencyDetail.RussianRuble,'pos': 'after','value': '?'},
            {'name': currencyDetail.EritreanNakfa,'pos': 'before','value': 'Nfk'},
            {'name': currencyDetail.CFAfranc,'pos': 'before','value': 'CFA'},
            {'name': currencyDetail.PhilippinePeso,'pos': 'before','value': '?'},
            {'name': currencyDetail.FijiDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.CapeVerdeEscudo,'pos': 'before','value': 'CVE'},
            {'name': currencyDetail.FalklandIslandsPound,'pos': 'before','value': '￡'},
            {'name': currencyDetail.GambianDalasi,'pos': 'before','value': 'GMD'},
            {'name': currencyDetail.Congolesefranc,'pos': 'before','value': 'FrCD'},
            {'name': currencyDetail.ColombianPeso,'pos': 'before','value': '$'},
            {'name': currencyDetail.CostaRicanColon,'pos': 'before','value': '?'},
            {'name': currencyDetail.CubanPeso,'pos': 'before','value': '$'},
            {'name': currencyDetail.Cubanconvertiblepeso,'pos': 'before','value': '$'},
            {'name': currencyDetail.GuyanaDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.KazakhstanTenge,'pos': 'before','value': '?'},
            {'name': currencyDetail.Haitiangourde,'pos': 'before','value': 'HTG'},
            {'name': currencyDetail.won,'pos': 'before','value': '?'},
            {'name': currencyDetail.NetherlandsAntillesGuilder,'pos': 'before','value': 'NAf.'},
            {'name': currencyDetail.Honduraslempiras,'pos': 'before','value': 'L'},
            {'name': currencyDetail.DjiboutiFranc,'pos': 'before','value': 'Fdj'},
            {'name': currencyDetail.KyrgyzstanSom,'pos': 'before','value': 'KGS'},
            {'name': currencyDetail.GuineaFranc,'pos': 'before','value': 'FG'},
            {'name': currencyDetail.CanadianDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.GhanaianCedi,'pos': 'before','value': 'GHS'},
            {'name': currencyDetail.Cambodianriel,'pos': 'before','value': 'Riel'},
            {'name': currencyDetail.CzechKoruna,'pos': 'after','value': 'K?'},
            {'name': currencyDetail.ZimbabweDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.QatariRiyal,'pos': 'before','value': 'Rial'},
            {'name': currencyDetail.CaymanIslandsDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.Comorianfranc,'pos': 'before','value': 'CF'},
            {'name': currencyDetail.KuwaitiDinar,'pos': 'before','value': 'din'},
            {'name': currencyDetail.CroatianKuna,'pos': 'before','value': 'kn'},
            {'name': currencyDetail.KenyanShilling,'pos': 'before','value': 'Ksh'},
            {'name': currencyDetail.LesothoLoti,'pos': 'before','value': 'LSL'},
            {'name': currencyDetail.LaoKip,'pos': 'before','value': '?'},
            {'name': currencyDetail.LebanesePound,'pos': 'before','value': 'L￡'},
            {'name': currencyDetail.Lithuanianlitas,'pos': 'before','value': 'Lt'},
            {'name': currencyDetail.LibyanDinar,'pos': 'before','value': 'din'},
            {'name': currencyDetail.LiberianDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.RwandaFranc,'pos': 'before','value': 'RF'},
            {'name': currencyDetail.RomanianLeu,'pos': 'before','value': 'RON'},
            {'name': currencyDetail.MalagasyAriary,'pos': 'before','value': 'Ar'},
            {'name': currencyDetail.MaldivianRufiyaa,'pos': 'before','value': 'Rf'},
            {'name': currencyDetail.MalawiKwacha,'pos': 'before','value': 'MWK'},
            {'name': currencyDetail.MalaysianRinggit,'pos': 'before','value': 'RM'},
            {'name': currencyDetail.MacedoniawearingDinar,'pos': 'before','value': 'din'},
            {'name': currencyDetail.MauritiusRupee,'pos': 'before','value': 'MURs'},
            {'name': currencyDetail.MauritanianOuguiya,'pos': 'before','value': 'MRO'},
            {'name': currencyDetail.MongolianTugrik,'pos': 'before','value': '?'},
            {'name': currencyDetail.BangladeshiTaka,'pos': 'before','value': '?'},
            {'name': currencyDetail.PeruvianNuevoSol,'pos': 'before','value': 'S/'},
            {'name': currencyDetail.MyanmarKyat,'pos': 'before','value': 'K'},
            {'name': currencyDetail.MoldovanLeu,'pos': 'before','value': 'MDL'},
            {'name': currencyDetail.MoroccanDirham,'pos': 'before','value': 'dh'},
            {'name': currencyDetail.MozambiqueMetical,'pos': 'before','value': 'MTn'},
            {'name': currencyDetail.MexicanPeso,'pos': 'before','value': '$'},
            {'name': currencyDetail.NamibianDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.SouthAfricanRand,'pos': 'before','value': 'R'},
            {'name': currencyDetail.SouthSudanesePound,'pos': 'before','value': '￡'},
            {'name': currencyDetail.NicaraguaCordoba,'pos': 'before','value': 'C$'},
            {'name': currencyDetail.NepaleseRupee,'pos': 'before','value': 'Rs'},
            {'name': currencyDetail.NigerianNaira,'pos': 'before','value': '?'},
            {'name': currencyDetail.NorwegianKrone,'pos': 'after','value': 'kr'},
            {'name': currencyDetail.GeorgianLari,'pos': 'before','value': 'GEL'},
            {'name': currencyDetail.RenminbiOffshore,'pos': 'before','value': '￥'},
            {'name': currencyDetail.SwedishKrona,'pos': 'after','value': 'kr'},
            {'name': currencyDetail.SwissFranc,'pos': 'before','value': 'CHF'},
            {'name': currencyDetail.SerbianDinar,'pos': 'before','value': 'din'},
            {'name': currencyDetail.SierraLeone,'pos': 'before','value': 'SLL'},
            {'name': currencyDetail.SeychellesRupee,'pos': 'before','value': 'SCR'},
            {'name': currencyDetail.SaudiRiyal,'pos': 'before','value': 'Rial'},
            {'name': currencyDetail.SaoTomeDobra,'pos': 'before','value': 'Db'},
            {'name': currencyDetail.SaintHelenapound,'pos': 'before','value': '￡'},
            {'name': currencyDetail.SriLankaRupee,'pos': 'before','value': 'Rs'},
            {'name': currencyDetail.SwazilandLilangeni,'pos': 'before','value': 'SZL'},
            {'name': currencyDetail.SudanesePound,'pos': 'before','value': 'SDG'},
            {'name': currencyDetail.Surinamesedollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.SolomonIslandsDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.SomaliShilling,'pos': 'before','value': 'SOS'},
            {'name': currencyDetail.TajikistanSomoni,'pos': 'before','value': 'Som'},
            {'name': currencyDetail.PacificFranc,'pos': 'after','value': 'FCFP'},
            {'name': currencyDetail.ThaiBaht,'pos': 'before','value': '?'},
            {'name': currencyDetail.TanzanianShilling,'pos': 'before','value': 'TSh'},
            {'name': currencyDetail.TonganPaanga,'pos': 'before','value': 'T$'},
            {'name': currencyDetail.TrinidadandTobagoDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.TunisianDinar,'pos': 'before','value': 'din'},
            {'name': currencyDetail.TurkishLira,'pos': 'before','value': '?'},
            {'name': currencyDetail.VanuatuVatu,'pos': 'before','value': 'VUV'},
            {'name': currencyDetail.GuatemalanQuetzal,'pos': 'before','value': 'Q'},
            {'name': currencyDetail.CommissionBolivar,'pos': 'before','value': 'Bs'},
            {'name': currencyDetail.BruneiDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.UgandanShilling,'pos': 'before','value': 'UGX'},
            {'name': currencyDetail.UkrainianHryvnia,'pos': 'before','value': 'грн.'},
            {'name': currencyDetail.UruguayanPeso,'pos': 'before','value': '$'},
            {'name': currencyDetail.Uzbekistansom,'pos': 'before','value': 'so?m'},
            {'name': currencyDetail.WesternSamoaTala,'pos': 'before','value': 'WST'},
            {'name': currencyDetail.SingaporeDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.NT,'pos': 'before','value': 'NT$'},
            {'name': currencyDetail.NewZealandDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.HungarianForint,'pos': 'before','value': 'Ft'},
            {'name': currencyDetail.SyrianPound,'pos': 'before','value': '￡'},
            {'name': currencyDetail.JamaicanDollar,'pos': 'before','value': '$'},
            {'name': currencyDetail.ArmenianDram,'pos': 'before','value': 'Dram'},
            {'name': currencyDetail.YemeniRial,'pos': 'before','value': 'Rial'},
            {'name': currencyDetail.IraqiDinar,'pos': 'before','value': 'din'},
            {'name': currencyDetail.IranianRial,'pos': 'before','value': 'Rial'},
            {'name': currencyDetail.NewIsraeliShekel,'pos': 'before','value': '?'},
            {'name': currencyDetail.IndianRupee,'pos': 'before','value': '?'},
            {'name': currencyDetail.IndonesianRupiah,'pos': 'before','value': 'Rp'},
            {'name': currencyDetail.JordanianDinar,'pos': 'before','value': 'din'},
            {'name': currencyDetail.VND,'pos': 'after','value': '?'},
            {'name': currencyDetail.ZambianKwacha,'pos': 'before','value': 'ZMW'},
            {'name': currencyDetail.GibraltarPound,'pos': 'before','value': '￡'},
            {'name': currencyDetail.ChileanPeso,'pos': 'before','value': '$'},
            {'name': currencyDetail.CFAFrancBEAC,'pos': 'before','value': 'FCFA'}
        ]

        this.dateFmtList = locale().dateFmtList

        this.numFmtList = [
            {
                'name': '1235',
                'value': '0'
            },
            {
                'name': '1234.56',
                'value': '0.00'
            },
            {
                'name': '1,235',
                'value': '#,##0'
            },
            {
                'name': '1,234.56',
                'value': '#,##0.00'
            },
            {
                'name': '1,235',
                'value': '#,##0_);(#,##0)'
            },
            {
                'name': '1,235',
                'value': '#,##0_);[Red](#,##0)'
            },
            {
                'name': '1,234.56',
                'value': '#,##0.00_);(#,##0.00)'
            },
            {
                'name': '1,234.56',
                'value': '#,##0.00_);[Red](#,##0.00)'
            },
            {
                'name': '$1,235',
                'value': '$#,##0_);($#,##0)'
            },
            {
                'name': '$1,235',
                'value': '$#,##0_);[Red]($#,##0)'
            },
            {
                'name': '$1,234.56',
                'value': '$#,##0.00_);($#,##0.00)'
            },
            {
                'name': '$1,234.56',
                'value': '$#,##0.00_);[Red]($#,##0.00)'
            },
            {
                'name': '1234.56',
                'value': '@'
            },
            {
                'name': '123456%',
                'value': '0%'
            },
            {
                'name': '123456.00%',
                'value': '0.00%'
            },
            {
                'name': '1.23E+03',
                'value': '0.00E+00'
            },
            {
                'name': '1.2E+3',
                'value': '##0.0E+0'
            },
            {
                'name': '1234 5/9',
                'value': '# ?/?'
            },
            {
                'name': '1234 14/25',
                'value': '# ??/??'
            },
            {
                'name': '$ 1,235',
                'value': '_($* #,##0_);_(...($* "-"_);_(@_)'
            },
            {
                'name': '1,235',
                'value': '_(* #,##0_);_(*..._(* "-"_);_(@_)'
            },
            {
                'name': '$ 1,234.56',
                // "value": '_($* #,##0.00_)...* "-"??_);_(@_)'
                'value': '_($* #,##0.00_);_(...($* "-"_);_(@_)'
            },
            {
                'name': '1,234.56',
                'value': '_(* #,##0.00_);...* "-"??_);_(@_)'
            },
        ]

        $('#luckysheet-modal-dialog-mask').show()
        $('#luckysheet-moreFormat-dialog').remove()

        let title = '', content = ''

        if(type == 'morecurrency'){ //货币
            title = locale_format.titleCurrency

            let listHtml = ''

            for(let i = 0; i < _this.moneyFmtList.length; i++){
                let name = _this.moneyFmtList[i]['name']
                let pos = _this.moneyFmtList[i]['pos']
                let value = _this.moneyFmtList[i]['value']

                listHtml += '<div class="listItem">'+
                                '<div class="name">'+ name +'</div>'+
                                '<div class="value">'+ value +'</div>'+
                                '<input type="hidden" value="'+ pos +'"/>'+
                            '</div>'
            }

            content = '<div class="box" id="morecurrency">'+
                        '<div class="decimal">'+
                            '<label>'+ locale_format.decimalPlaces +'：</label>'+
                            '<input type="number" class="formulaInputFocus" value="2" min="0" max="9"/>'+
                        '</div>'+
                        '<div class="listbox">'+ listHtml +'</div>'+
                      '</div>'
        }
        else if(type == 'moredatetime'){ //日期时间
            title = locale_format.titleDateTime

            let listHtml = ''

            for(let i = 0; i < _this.dateFmtList.length; i++){
                let name = _this.dateFmtList[i]['name']
                let value = _this.dateFmtList[i]['value']

                listHtml += '<div class="listItem">'+
                                '<div class="name">'+ name +'</div>'+
                                '<div class="value">'+ value +'</div>'+
                            '</div>'
            }

            content = '<div class="box" id="moredatetime">'+
                        '<div class="listbox">'+ listHtml +'</div>'+
                      '</div>'
        }
        else if(type == 'moredigit'){ //数字
            title = locale_format.titleNumber

            let listHtml = ''

            for(let i = 0; i < _this.numFmtList.length; i++){
                let name = _this.numFmtList[i]['name']
                let value = _this.numFmtList[i]['value']

                listHtml += '<div class="listItem">'+
                                '<div class="name">'+ name +'</div>'+
                                '<div class="value">'+ value +'</div>'+
                            '</div>'
            }

            content = '<div class="box" id="moredigit">'+
                        '<div class="listbox">'+ listHtml +'</div>'+
                      '</div>'
        }

        $('body').append(replaceHtml(modelHTML, {
            'id': 'luckysheet-moreFormat-dialog',
            'addclass': 'luckysheet-moreFormat-dialog',
            'title': title,
            'content': content,
            'botton': '<button id="luckysheet-moreFormat-dialog-confirm" class="btn btn-primary">'+ locale_button.confirm +'</button><button class="btn btn-default luckysheet-model-close-btn">'+ locale_button.cancel +'</button>',
            'style': 'z-index:100003'
        }))
        let $t = $('#luckysheet-moreFormat-dialog').find('.luckysheet-modal-dialog-content').css('min-width', 400).end(),
            myh = $t.outerHeight(),
            myw = $t.outerWidth()
        let winw = $(window).width(), winh = $(window).height()
        let scrollLeft = $(document).scrollLeft(), scrollTop = $(document).scrollTop()
        $('#luckysheet-moreFormat-dialog').css({ 'left': (winw + scrollLeft - myw) / 2, 'top': (winh + scrollTop - myh) / 3 }).show()

        $('#luckysheet-moreFormat-dialog .listbox .listItem').eq(0).addClass('on')
    },
    init: function(){
        let _this = this

        //选择格式
        $(document).on('click', '#luckysheet-moreFormat-dialog .listbox .listItem', function(){
            $(this).addClass('on').siblings().removeClass('on')
        })

        //确定
        $(document).off('click.moreFormatConfirm').on('click.moreFormatConfirm', '#luckysheet-moreFormat-dialog #luckysheet-moreFormat-dialog-confirm', function(){
            $('#luckysheet-moreFormat-dialog').hide()
            $('#luckysheet-modal-dialog-mask').hide()

            let d = editor.deepCopyFlowData(Store.flowdata)

            let value = $('#luckysheet-moreFormat-dialog .listbox .listItem.on .value').text()
            let id = $(this).parents('#luckysheet-moreFormat-dialog').find('.box').attr('id')

            if(id == 'morecurrency'){ //货币
                if(value.indexOf('?') != -1){
                    return
                }

                let decimal = parseInt($('#luckysheet-moreFormat-dialog .decimal input').val().trim())

                if(decimal.toString() == 'NaN' || decimal < 0 || decimal > 9){
                    if(isEditMode()){
                        alert('小数位数必须在0-9之间！')
                    }
                    else{
                        tooltip.info('小数位数必须在0-9之间！', '')
                    }

                    return
                }

                let str = ''

                if(decimal > 0){
                    for(let i = 1; i <= decimal; i++){
                        str += '0'
                    }

                    str = '0.' + str
                }
                else{
                    str = '#'
                }

                let pos = $('#luckysheet-moreFormat-dialog .listbox .listItem.on input:hidden').val()

                if(pos == 'before'){
                    str = '"' + value + '" ' + str
                }
                else if(pos == 'after'){
                    str = str + ' "' + value + '"'
                }

                menuButton.updateFormat(d, 'ct', str)
            }
            else if(id == 'moredatetime'){ //日期时间
                menuButton.updateFormat(d, 'ct', value)
            }
            else if(id == 'moredigit'){ //数字
                menuButton.updateFormat(d, 'ct', value)
            }
        })
    }
}

export default luckysheetMoreFormat